﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace OnlineAuction.Entity
{
    public class AuctionDTO
    {
        private int _auctionTypeID;
        private double _firstPrice;
        private double _finalPrice;
        private double _expectationPrice;
        private string _timeStartAuction;
        private string _timeFinishAuction;
        private double _bidIncrement;
        private int _timeIncrement;
        private string _seller;
        private string _itemName;
        private double _currentPrice;
        private int _auctionID;
        private string _itemImage1;
        private string _leftDays;
        private string _leftHours;
        private string _leftMinutes;
        private string _leftSeconds;
        private string _itemImage2;
        private string _itemImage3;
        private string _itemImage4;
        private string _itemDescription;
        private string _buyer;
        private int _categoryID;
        private string _auctionStateName;
        private string _autionTypeName;
        private string _increment;
        private double _feeMoney;
        private int p1;
        private double p2;
        private double p3;
        private string p4;
        private string p5;
        private double p6;
        private int p7;
        private string userName;

        public double FeeMoney
        {
            get { return _feeMoney; }
            set { _feeMoney = value; }
        }

        public string Increment
        {
            get { return _increment; }
            set { _increment = value; }
        }

        public string AutionTypeName
        {
            get { return _autionTypeName; }
            set { _autionTypeName = value; }
        }

        public string AuctionStateName
        {
            get { return _auctionStateName; }
            set { _auctionStateName = value; }
        }

        public int CategoryID
        {
            get { return _categoryID; }
            set { _categoryID = value; }
        }

        public string Buyer
        {
            get { return _buyer; }
            set { _buyer = value; }
        }

        public string ItemDescription
        {
            get { return _itemDescription; }
            set { _itemDescription = value; }
        }

        public string ItemImage4
        {
            get { return _itemImage4; }
            set { _itemImage4 = value; }
        }

        public string ItemImage3
        {
            get { return _itemImage3; }
            set { _itemImage3 = value; }
        }

        public string ItemImage2
        {
            get { return _itemImage2; }
            set { _itemImage2 = value; }
        }

        public string LeftMinutes
        {
            get { return _leftMinutes; }
            set { _leftMinutes = value; }
        }

        public string LeftSeconds
        {
            get { return _leftSeconds; }
            set { _leftSeconds = value; }
        }

        public string LeftDays
        {
            get { return _leftDays; }
            set { _leftDays = value; }
        }

        public string LeftHours
        {
            get { return _leftHours; }
            set { _leftHours = value; }
        }

        public string ItemImage1
        {
            get { return _itemImage1; }
            set { _itemImage1 = value; }
        }

        public double CurrentPrice
        {
            get { return _currentPrice; }
            set { _currentPrice = value; }
        }

        public int AuctionID
        {
            get { return _auctionID; }
            set { _auctionID = value; }
        }

        public string ItemName
        {
            get { return _itemName; }
            set { _itemName = value; }
        }

        public string Seller
        {
            get { return _seller; }
            set { _seller = value; }
        }

        public int TimeIncrement
        {
            get { return _timeIncrement; }
            set { _timeIncrement = value; }
        }

        public double BidIncrement
        {
            get { return _bidIncrement; }
            set { _bidIncrement = value; }
        }

        public string TimeStartAuction
        {
            get { return _timeStartAuction; }
            set { _timeStartAuction = value; }
        }

        public string TimeFinishAuction
        {
            get { return _timeFinishAuction; }
            set { _timeFinishAuction = value; }
        }

        public double ExpectationPrice
        {
            get { return _expectationPrice; }
            set { _expectationPrice = value; }
        }

        public double FirstPrice
        {
            get { return _firstPrice; }
            set { _firstPrice = value; }
        }
        
        public double FinalPrice
        {
            get { return _finalPrice; }
            set { _finalPrice = value; }
        }

        public int AuctionTypeID
        {
            get { return _auctionTypeID; }
            set { _auctionTypeID = value; }
        }

        public AuctionDTO(int auctionTypeID, double firstPrice, double expectationPrice,
                    string timeFinishAuction, double bidIncrement, int timeIncrement, string userName)
        {
            _auctionTypeID = auctionTypeID;
            _firstPrice = firstPrice;
            _expectationPrice = expectationPrice;
            _timeFinishAuction = timeFinishAuction;
            _bidIncrement = bidIncrement;
            _timeIncrement = timeIncrement;
            _seller = userName;
        }

        public AuctionDTO(int auctionID, string itemName, string itemImage,
            double currentPrice, string leftDays, string leftHours, string leftMinutes,
            string leftSeconds)
        {
            _auctionID = auctionID;
            _itemName = itemName;
            _itemImage1 = itemImage;
            _currentPrice = currentPrice;
            _leftDays = leftDays;
            _leftHours = leftHours;
            _leftMinutes = leftMinutes;
            _leftSeconds = leftSeconds;
        }

        public AuctionDTO(int auctionID, string itemName, string itemImage1,
                    string itemImage2, string itemImage3, string itemImage4,
                    string itemDescription, string seller, string leftDays,
                    string leftHours, string leftMinutes, string leftSeconds,
                    string buyer, double currentPrice)
        {
            _auctionID = auctionID;
            _itemName = itemName;
            _itemImage1 = itemImage1;
            _itemImage2 = itemImage2;
            _itemImage3 = itemImage3;
            _itemImage4 = itemImage4;
            _itemDescription = itemDescription;
            _seller = seller;
            _leftDays = leftDays;
            _leftHours = leftHours;
            _leftMinutes = leftMinutes;
            _leftSeconds = leftSeconds;
            _buyer = buyer;
            _currentPrice = currentPrice;
        }
        public AuctionDTO(int auctionID, string itemName, string itemImage1,
            string itemImage2, string itemImage3, string itemImage4,
            string itemDescription, string seller, string leftDays,
            string leftHours, string leftMinutes, string leftSeconds,
            string buyer, double currentPrice, string typeName, string increase)
        {
            _auctionID = auctionID;
            _itemName = itemName;
            _itemImage1 = itemImage1;
            _itemImage2 = itemImage2;
            _itemImage3 = itemImage3;
            _itemImage4 = itemImage4;
            _itemDescription = itemDescription;
            _seller = seller;
            _leftDays = leftDays;
            _leftHours = leftHours;
            _leftMinutes = leftMinutes;
            _leftSeconds = leftSeconds;
            _buyer = buyer;
            _currentPrice = currentPrice;
            _autionTypeName = typeName;
            _increment = increase;
        }
        public AuctionDTO(int auctionID, string itemName, string leftDays, string seller)
        {
            _auctionID = auctionID;
            _itemName = itemName;
            _leftDays = leftDays;
            _seller = seller;
        }

        public AuctionDTO(int auctionID, string itemName, string auctionStateName)
        {
            _auctionID = auctionID;
            _itemName = itemName;
            _auctionStateName = auctionStateName;
        }

        public AuctionDTO(int auctionID, string seller, string timeStartAuction, string timeFinishAuction,
                double firstPrice, double finalPrice, string buyer, double feeMoney)
        {
            _auctionID = auctionID;
            _seller = seller;
            _timeStartAuction = timeStartAuction;
            _timeFinishAuction = timeFinishAuction;
            _firstPrice = firstPrice;
            _finalPrice = finalPrice;
            _buyer = buyer;
            _feeMoney = feeMoney;
        }

        public AuctionDTO(int p1, double p2, double p3, string p4, string p5, double p6, int p7, string userName)
        {
            // TODO: Complete member initialization
            this.p1 = p1;
            this.p2 = p2;
            this.p3 = p3;
            this.p4 = p4;
            this.p5 = p5;
            this.p6 = p6;
            this.p7 = p7;
            this.userName = userName;
        }
    }
}
